/**
 * Wang Sen (C) <senwang@linux.vnet.ibm.com>
 * Wang Sen (C) <kelvin.xupt@gmail.com>
 * 2012.4.13
 */
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/device.h>
#include <linux/kobject.h>

MODULE_LICENSE("GPL");

struct bus_type my_bus = {
	.name = "my_bus",
};

BUS_ATTR("rescan", 0777, NULL, NULL);

static int __init start_init(void)
{
	int ret = 0;
	ret = bus_register(&my_bus);
	bus_create_file(&my_bus, &bus_attr_rescan);
	printk("------init...\n");
	return ret;
}

static void __exit start_exit(void)
{
	bus_remove_file(&my_bus, &bus_attr_rescan);
	bus_unregister(&my_bus);
	printk("------See you\n");
}

module_init(start_init);
module_exit(start_exit);
